1. Field of the Invention
The present invention relates to a non-volatile semiconductor memory device.
2. Description of the Related Art
A memory cell can be defined as a circuit of a minimum unit, for storing data in a semiconductor memory device. A memory cell consists of a transistor and a capacitor in combination. A normal semiconductor memory device is required to achieve as small distribution of memory data as possible, its memory cell array consists of a plurality of memory cells of the same type and the same size, so as to obtain as uniform characteristics as possible.
In accordance with an increase in the degree of integration of a semiconductor memory device, there is a tendency for a semiconductor memory device to be required to have not only a function as a mere memory medium but also a function of systematic operation coupled with a CPU. Such a tendency is particularly prominent in a non-volatile semiconductor memory device such as an EPROM, EEPROM or flash memory.
In reply to such requirements, it is proposed that a memory cell array of a semiconductor memory device is divided into a plurality of blocks, which are allowed to have different functions from each other, for example, as in a bootblack mode of Intel Co. In this mode, the blocks have different functions from each other, and therefore the characteristics required from memory cells are different from one block to another. More specifically, a block in which a basic code such as for standing a system is input, involves a less number of times of rewriting of data, and therefore is required to have memory cells of a mask ROM type, whereas a block in which data is frequently rewritten, requires to have memory cells having excellent programming characteristics.
However, in a conventional semiconductor memory device, a memory cell array consists of memory cells which have the save characteristics. Consequently, a variety of requests as mentioned above cannot be satisfied. In the case where memory cells are formed to have the characteristics suitable for one block, these memory cells may cause a trouble in another block. For example, in the case where all the memory cells of a memory cell array is formed to have a large gate couple ratio, so as to improve the programming characteristics, those memory cells which belong to a block used for inputting a basic code, are easily exposed to problems such as gate-disturb and softwrite.